﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HerGoS.Administration.Entities;
using HerGoS.Administration.Engine;
using HerGoS.ControlsUI;

namespace HerGoS.WebUI.Parametrizacion.Geografia
{
    public partial class Ciudad_ABM : PageBase
    {
        #region Propiedades

        public Ciudad Ciudad
        {
            get
            {
                if (ViewState["Ciudad"] != null)
                    return (Ciudad)ViewState["Ciudad"];
                return null;
            }
            set
            {
                ViewState["Ciudad"] = value;
            }

        }

        public int idprovincia
        {
            get
            {
                if (ViewState["idprovincia"] != null)
                    return (int)ViewState["idprovincia"];
                return 0;
            }
            set
            {
                ViewState["idprovincia"] = value;
            }

        
        }


        #endregion
         


        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                //Obtengo requests
                this.lblPais.Text = Request.QueryString["nombrepais"].ToString();
                this.lblProvincia.Text = Request.QueryString["nombreprov"].ToString();
                 idprovincia = Request.QueryString["idprov"].ToInteger();
                 LoadCombos();
                 
                if (Request.QueryString["id"] == null)
                {
                    Ciudad = new Ciudad();
                }
                else
                {
                    var Id = Convert.ToInt32(Request.QueryString["id"]);
                    Ciudad = GestorCiudad.Obtener(Id);
                    this.txtCodigo.Text = Ciudad.Codigo;
                    this.txtNombre.Text = Ciudad.Nombre;
                    //this.txtNumero.Text = Ciudad.Numero.ToString();
                    this.txtTarifaViatico.Text = Ciudad.TarifaViatico.ToString();
                    this.txtTarifaTerminal.Text = Ciudad.TarifaTerminal.ToString();
                    this.cboZona.SelectedValue = Ciudad.Zona == null ? "0" : Convert.ToString(Ciudad.Zona.OID);
                }
                Initialize();
            }
        }

        void Initialize()
        {
            this.btnGuardar.Settings(new ButtonExtText());
            this.btnCerrar.Settings(new ButtonExtText());
            LoadAutoria(Ciudad);
        }


        private void LoadCombos()
        {
            this.cboZona.DataSource = GestorZona.Consultar();
            cboZona.DataTextField = "Nombre";
            cboZona.DataValueField = "OID";
            cboZona.DataBind();
            cboZona.Items.Insert(0, new ListItem("--Ninguno-- ", "0"));
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            Ciudad.Provincia = GestorProvincia.Obtener(idprovincia);
            Ciudad.Codigo = this.txtCodigo.Text;
            Ciudad.Nombre = this.txtNombre.Text;
            //Ciudad.Numero = this.txtNumero.Text.ToInteger();
            Ciudad.Zona = GestorZona.Obtener(cboZona.SelectedValue.ToInteger());
            Ciudad.TarifaViatico = this.txtTarifaViatico.Text.ToDecimal();
            Ciudad.TarifaTerminal = this.txtTarifaTerminal.Text.ToDecimal();

            GestorCiudad.Guardar(Ciudad);

            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "closedialog", "parent.IntervaloCerrarPopup('La Ciudad ha sido guardado correctamente','ContentPlaceHolder1_btnRefreshCiudad');", true);

        }


        protected void btnCerrar_Click(object sender, EventArgs e)
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "closedialog", "parent.CerrarPopup();", true);
        }


    }
}